// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
// License: GNU General Public License v3. See license.txt

frappe.query_reports["Trial Balance CN"] = {
    filters: [
        {
            fieldname: "company",
            label: __("Company"),
            fieldtype: "Link",
            options: "Company",
            default: frappe.defaults.get_user_default("Company"),
            reqd: 1,
        },
        {
            fieldname: "fiscal_year",
            label: __("Fiscal Year"),
            fieldtype: "Link",
            options: "Fiscal Year",
            default: erpnext.utils.get_fiscal_year(frappe.datetime.get_today()),
            reqd: 1,
            on_change: function (query_report) {
                var fiscal_year = query_report.get_values().fiscal_year;
                if (!fiscal_year) {
                    return;
                }
                frappe.model.with_doc("Fiscal Year", fiscal_year, function (r) {
                    var fy = frappe.model.get_doc("Fiscal Year", fiscal_year);
                    frappe.query_report.set_filter_value({
                        from_date: fy.year_start_date,
                        to_date: fy.year_end_date,
                    });
                });
            },
        },
        {
            fieldname: "from_date",
            label: __("From Date"),
            fieldtype: "Date",
            default: erpnext.utils.get_fiscal_year(frappe.datetime.get_today(), true)[1],
        },
        {
            fieldname: "to_date",
            label: __("To Date"),
            fieldtype: "Date",
            default: erpnext.utils.get_fiscal_year(frappe.datetime.get_today(), true)[2],
        },
        {
            fieldname: "cost_center",
            label: __("Cost Center"),
            fieldtype: "Link",
            options: "Cost Center",
            get_query: function () {
                var company = frappe.query_report.get_filter_value("company");
                return {
                    doctype: "Cost Center",
                    filters: {
                        company: company,
                    },
                };
            },
        },
        {
            fieldname: "project",
            label: __("Project"),
            fieldtype: "Link",
            options: "Project",
        },
        {
            fieldname: "finance_book",
            label: __("Finance Book"),
            fieldtype: "Link",
            options: "Finance Book",
        },
        {
            fieldname: "presentation_currency",
            label: __("Currency"),
            fieldtype: "Select",
            options: erpnext.get_presentation_currency_list(),
        },
        {
            fieldname: "with_period_closing_entry_for_opening",
            label: __("With Period Closing Entry For Opening Balances"),
            fieldtype: "Check",
            default: 1,
        },
        {
            fieldname: "with_period_closing_entry_for_current_period",
            label: __("Period Closing Entry For Current Period"),
            fieldtype: "Check",
            default: 1,
        },
        {
            fieldname: "show_zero_values",
            label: __("Show zero values"),
            fieldtype: "Check",
        },
        {
            fieldname: "show_unclosed_fy_pl_balances",
            label: __("Show unclosed fiscal year's P&L balances"),
            fieldtype: "Check",
        },
        {
            fieldname: "include_default_book_entries",
            label: __("Include Default FB Entries"),
            fieldtype: "Check",
            default: 1,
        },
        {
            fieldname: "show_net_values",
            label: __("Show net values in opening and closing columns"),
            fieldtype: "Check",
            default: 1,
        },
        {
            fieldname: "show_group_accounts",
            label: __("Show Group Accounts"),
            fieldtype: "Check",
            default: 1,
        },
        {
            fieldname: "show_monthly_trends",
            label: __("Show Monthly Trends"),
            fieldtype: "Check",
            default: 0,
            on_change: function(query_report) {
                query_report.refresh();
            }
        },
        {
            fieldname: "periodicity",
            label: __("Periodicity"),
            fieldtype: "Select",
            options: ["Monthly", "Quarterly", "Half-Yearly", "Yearly"],
            default: "Monthly",
            depends_on: "eval:doc.show_monthly_trends == 1",
            on_change: function(query_report) {
                query_report.refresh();
            }
        },
        {
            fieldname: "axis",
            label: __("Axis"),
            fieldtype: "Select",
            options: ["Horizontal", "Vertical"],
            default: "Horizontal",
            depends_on: "eval:doc.show_monthly_trends == 1",
            on_change: function(query_report) {
                query_report.refresh();
            }
        }
    ],
    formatter: erpnext.financial_statements.formatter,
    tree: true,
    name_field: "account",
    parent_field: "parent_account",
    export_hidden_cols: true,
    initial_depth: 3,
};

erpnext.utils.add_dimensions("Trial Balance CN", 6);